const Koa = require('koa');

const app = new Koa();

const static = require('koa-static');

const path = require('path');

const router = require('koa-router')();

const bodyparser = require('koa-bodyparser');

const query = require('./db/index');

// let router = new Router();


//处理静态资源的中间件
app.use(static(path.join(__dirname,'./public/')));

//注：bodyparser 必须放在路由中间件挂载前
app.use(bodyparser());

//挂载路由的中间件
app.use(router.routes());

app.use(router.allowedMethods());

console.log(router)

// app.use(router.allowMethods());

// let userlist = [
//     {
//         username:'lili',
//         password:123
//     },
//     {
//         username:'zs',
//         password:123
//     },
//     {
//         username:'lisi',
//         password:123
//     },
//     {
//         username:'tom',
//         password:123
//     },
//     {
//         username:'lucy',
//         password:123
//     }
// ];

//请求方式  请求地址 传递的参数

//get 传递的参数：ctx.query

router.get('/api/list',async (ctx,next) => {
    //看第几页的数据  pagenum limit 每页展示的条数
    // console.log(ctx.query);
    // let {pagenum,limit} = ctx.query;

    // //pagenum 1  0-1   2 2-3

    // let startIndex = (pagenum-1)*limit;  //起始的下标

    // let endIndex = pagenum*limit;  //结束下标

    // console.log(userlist.slice(startIndex,endIndex))

    // let list = userlist.slice(startIndex,endIndex);

    let list = await query('select * from userlist');

    ctx.body = {
        code:1,
        data:list
    }
})

router.post('/api/add',async (ctx) => {
    console.log(ctx.request.body);
})

app.listen(3000,() => {
    console.log("服务启动成功")
})

/***
 * get 请求 不需要下载你中间件 ctx.query
 * 
 * post请求 koa-bodyparser下载  ctx.request.body
 * 
 * 三个软件的作用：
 * 
 * postman     调试后台接口的
 * 
 * phpStudy    启动mysql数据库
 * 
 * navicate   mysql图形界面操作软件
 * 
 * 注：根据需求建数据库，建表
 * 
 * 和mysql数据库交互，sql语句
 * 
 * 查：select * from 表名
 * 
*/

//周末作业：1.周考一的showFiles命令行   2.koa 数据库  建数据库，建表，后台应用可以和mysql数据库交互